Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Workflow application</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Workflow_application"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Workflow_application rootpage-Workflow_application skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Workflow application</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><style data-mw-deduplicate="TemplateStyles:r1251242444">
/* start https://en.wikipedia.org/ */


.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}


/* end https://en.wikipedia.org/ */
</style>
<p>A <b>workflow application</b> is a <a href="Software_application" class="mw-redirect" title="Software application">software application</a> that automates, to at least some degree, a process or processes. The processes are usually business-related but can be any process that requires a series of steps to be automated via <a href="Software" title="Software">software</a>. Some steps of the process may require human intervention, such as approval or the development of custom text, but functions that can be automated should be handled by the application. Advanced applications allow users to introduce new components into the operation.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</p><p>For example, consider a <a href="Purchase_order" title="Purchase order">purchase order</a> that moves through various departments for authorization and eventual purchase. The order may be automatically routed from one department to another for approval. Once all necessary authorizations are obtained, the requester of the purchase order is notified and granted the necessary authorization. A workflow process may involve frequent maintenance. For example, the usual approver of purchase orders may be on vacation, in which case, the application will request approval from alternative approvers.
</p>
<div class="mw-heading mw-heading2"><h2 id="Development">Development</h2></div>
<p>Workflow applications can be developed using a graphical designer, a programming language, or a combination of both.
</p><p>Some software products provide a means to create workflow applications with a diagram-based graphical designer alone. These types of systems rely on the ability to capture all relevant information for the workflow process through a specialized interface aimed at non-programmers. Subsequently, the software compiles that information into a functional workflow application. However, there are instances when the use of a programming language becomes necessary, particularly for incorporating more complex rules into the workflow, such as calculations for validating data in input forms.
</p><p>For code-based workflow design, workflow applications can be developed with any general-purpose <a href="Programming_language" title="Programming language">programming language</a>, but specialized workflow languages also exist. These languages usually come with an associated graphical notation (such as <a href="Business_Process_Modeling_Notation" class="mw-redirect" title="Business Process Modeling Notation">BPMN</a>),<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> although some are textual or <a href="XML" title="XML">XML</a>-based. Examples of specialized languages that can be used for workflow definition in this manner include:
</p>
<ul><li><a href="XPDL" title="XPDL">XPDL</a></li>
<li><a href="YAWL" title="YAWL">YAWL</a> (Yet Another Workflow Language)</li>
<li>SCUFL (Simple Conceptual Unified Flow Language)</li></ul>
<p>The above languages are based on XML syntax and while suitable for manipulation by software, they may be difficult for non-technical people to work with. Therefore, their use is generally augmented by graphical notations enabling the creation of flowchart-like diagrams that are easier for people to develop and interpret: creating such diagrams is in effect a form of "graphical" programming. The software package that allows a user to develop a workflow diagram will typically translate a diagram into its XML equivalent.
</p><p>Another approach to developing workflow applications is to use a programming language in conjunction with libraries and interfaces that capture abstractions for task coordination. The following are examples of such libraries and interfaces:
</p>
<ul><li><a href="Windows_Workflow_Foundation" title="Windows Workflow Foundation">Windows Workflow Foundation</a> (WF)</li>
<li><a href="Workflow_OSID" class="mw-redirect" title="Workflow OSID">Workflow OSID</a></li></ul>
<p>The use of <a href="Library_(computing)" title="Library (computing)">libraries</a> is generally complementary to diagramming techniques, which are not always sufficient by themselves to create fully functional applications (unless the diagramming tool is part of a specific workflow management system). WF workflows, for example, can be created using Microsoft Visual Studio diagrammatically (their XML equivalent is <a href="XAML" class="mw-redirect" title="XAML">XAML</a>), and their functionality can be augmented with code written in C# or VB.NET: a given workflow can be called by an existing software application as a Web service. Software development tools such as Visual Studio or the numerous coding environments for Java will also allow particular components to be designed entirely in code and then used as building blocks in workflow diagrams after they are compiled.
</p><p>One limitation of certain purely diagram-based techniques, such as BPMN mentioned above, is that to fit the purpose of workflow specification, such notations need to be enhanced with additional constructs. These constructs capture data passing, data transformations and routing conditions, to bind tasks to their implementation, etc. BPMN, while intended to serve as a standard, is deficient in this regard. Several commercial packages (such as Microsoft <a href="Biztalk" class="mw-redirect" title="Biztalk">Biztalk</a>) address these needs in proprietary ways (specifically, by enhancing the basic set of diagramming icons with additional icons that support the needed functionality).
</p><p>For the purpose of static analysis, e.g. to detect semantic errors at design time, it is also possible to represent workflow in a mathematical form using a formal notation such as <a href="Petri_net" title="Petri net">Petri nets</a>.
</p>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */


.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}


/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */


.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}


/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFJörg_BeckerMichael_zur_MuehlenMarc_Gille2002" class="citation book cs1">Jörg Becker; Michael zur Muehlen; Marc Gille (2002). "Workflow Application Architectures: Classification and Characteristics of Workflow-based Information Systems". In Fischer, L. (ed.). <i>Workflow Handbook 2002</i>. Lighthouse Point, FL: Future Strategies. <a href="CiteSeerX_(identifier)" class="mw-redirect" title="CiteSeerX (identifier)">CiteSeerX</a>&nbsp;<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.24.2311">10.1.1.24.2311</a></span>.</cite></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://support.microsoft.com/en-us/office/design-an-automated-workflow-in-visio-35f0c9a9-912b-486d-88f7-4fc68013ad1a">"Design an automated workflow in Visio - Microsoft Support"</a>. <i>support.microsoft.com</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2023-03-13</span></span>.</cite></span>
</li>
</ol></div></div>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><span class="noviewer" typeof="mw:File"></span> Media related to <a href="https://commons.wikimedia.org/wiki/Category:Workflow_applications" class="extiw external" title="commons:Category:Workflow applications">Workflow applications</a> at Wikimedia Commons</li></ul></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2023-12-27" href="https://en.wikipedia.org/wiki/?title=Workflow_application&amp;oldid=1192031960">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>

</body></html>